/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package EvoAlg;

/**
 *
 * @author Geost1gma
 */
public abstract class GenericProblem {

    protected int GenotypeLength = 10;
    protected int NumberOfPhenoTypes = 2;
    protected double targetFitness = 1.0;

    public GenericProblem() {
        
    }

    public double getTargetFitness() {
        return targetFitness;
    }

    public void setTargetFitness(double targetFitness) {
        this.targetFitness = targetFitness;
    }
    
    public int getGenotypeLength() {
        return GenotypeLength;
    }

    public void setGenotypeLength(int GenotypeLength) {
        this.GenotypeLength = GenotypeLength;
    }

    public int getNumberOfPhenoTypes() {
        return NumberOfPhenoTypes;
    }

    public void setNumberOfPhenoTypes(int NumberOfPhenoTypes) {
        this.NumberOfPhenoTypes = NumberOfPhenoTypes;
    }

    public abstract double Evaluate(Individual Indiv);

    public abstract double Evaluate(Individual[] Indiv);

    public abstract void EvaluateAll(Population pop);
}
